_ => {}
}
try!(libs.as_slice().iter().map(|t| {
- try!(validate_target_name(t));
+ try!(validate_library_name(t));
Ok(if layout.lib.is_some() && t.path.is_none() {
TomlTarget {
path: layout.lib.as_ref().map(|p| PathValue::Path(p.clone())),
Some(ref bins) => {
let bin = layout.main();
- try!(bins.iter().map(|t| {
- try!(validate_target_name(t));
- Ok(if bin.is_some() && t.path.is_none() {
+ bins.iter().map(|t| {
+ if bin.is_some() && t.path.is_none() {
TomlTarget {
path: bin.as_ref().map(|&p| PathValue::Path(p.clone())),
.. t.clone()
}
} else {
t.clone()
- })
- }).collect::<CargoResult<Vec<_>>>())
+ }
+ }).collect()
}
None => inferred_bin_targets(&project.name, layout)
};
let examples = match self.example {
- Some(ref examples) => {
- for example in examples {
- try!(validate_target_name(example));
- }
- examples.clone()
- }
+ Some(ref examples) => examples.clone(),
None => inferred_example_targets(layout),
};
let tests = match self.test {
- Some(ref tests) => {
- for test in tests {
- try!(validate_target_name(test));
- }
- tests.clone()
- }
+ Some(ref tests) => tests.clone(),
None => inferred_test_targets(layout),
};
let benches = if self.bench.is_none() || self.bench.as_ref().unwrap().is_empty() {
inferred_bench_targets(layout)
} else {
- try!(self.bench.as_ref().unwrap().iter().map(|t| {
- try!(validate_target_name(t));
- Ok(t.clone())
- }).collect::<CargoResult<Vec<_>>>())
+ self.bench.as_ref().unwrap().iter().map(|t| {
+ t.clone()
+ }).collect()
};
// processing the custom build script
}
}
-fn validate_target_name(target: &TomlTarget) -> CargoResult<()> {
+fn validate_library_name(target: &TomlTarget) -> CargoResult<()> {
if target.name.contains("-") {
- Err(human(format!("target names cannot contain hyphens: {}",
+ Err(human(format!("library target names cannot contain hyphens: {}",
target.name)))
} else {
Ok(())